AHigh - Level Intermediate Language and the Algorithms for Compiling Finite - Domain Constraints 1
نویسنده
چکیده
In this paper, we present a high-level intermediate language, called delay-Prolog, for implementing CLP(FD), the constraint language over nite-domains. Delay-Prolog has a much stronger description power than indexical, the intermediate language widely used in current nite-domain constraint compilers. It is powerful enough for describing all kinds of constraint propagation procedures, which by now have been mostly written in low level languages. And, most importantly, delay-Prolog opens new ways to compiling constraints. Besides the indexical algorithm that compiles constraints into indexicals, we implemented two new algorithms: the wait algorithm that compiles a constraint as whole into a propagation procedure without splitting it into small pieces, and the incremental simpli cation algorithm that incrementally simpli es constraints into smaller ones. The results are noteworthy: The wait algorithm generates the fastest code, while the widely used indexical algorithm generates code that is about 3 times slower than that generated by the wait algorithm. The wait algorithm is adopted in the latest version of B-Prolog. The experimental results show that B-Prolog is comparable in performance with the fastest CLP(FD) systems, although it is an emulated system.
منابع مشابه
Compiling Diderot: From Tensor Calculus to C
Diderot is a parallel domain-specific language for analysis and visualization of multidimensional scientific images, such as those produced by CT and MRI scanners [12, 28]. In particular, it supports algorithms where tensor fields (i.e., functions from 3D points to tensor values) are used to represent the underlying physical objects that were scanned by the imaging device. Diderot supports high...
متن کاملDesign and Implementation of the GNU Prolog System
In this paper we describe the design and the implementation of the GNU Prolog system. This system draws on our previous experience of compiling Prolog to C in the wamcc system and of compiling finite domain constraints in the clp(FD) system. The compilation scheme has however been redesigned in order to overcome the drawbacks of compiling to C. In particular, GNU-Prolog is based on a low-level ...
متن کاملAucs/tr9506 Compiling a Declarative High-level Language for Semantic Integrity Constraints
The provision of more intelligent support for complex database applications is becoming an important research topic, and declaratively stated integrity constraints are increasingly being seen as a potential source of semantic information for such advanced DBMS's. However, despite much research eeort, the problem of eeciently compiling and checking a wide range of complex constraints has not yet...
متن کاملCompiling a Declarative High-Level Language for Semantic Integrity Constraints
The provision of more intelligent support for complex database applications is becoming an important research topic, and declaratively stated integrity constraints are increasingly being seen as a potential source of semantic information for such advanced DBMS’s. However, despite much research effort, the problem of efficiently compiling and checking a wide range of complex constraints has not ...
متن کاملLead-Lag Controllers Coefficients Tuning to Control Fuel Cell Based on PSO Algorithm
One of the most important Fuel cells (FCs) is Proton Exchange Membrane Fuel Cells (PEMFCs). The outputvoltage of this FC depends on current loads. This paper tries to introduce, implement and control the voltage ofPEMFC, during load variations. The output voltage of fuel cell should be constant during load variation. Toachieve this goal, a controller should be designed. Here, the Lead-Lag contr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998